 $(function(){
    var emp_datagrid =  $("#emp_datagrid");
    var emp_dialog = $("#emp_dialog");
    var emp_form = $('#emp_form');
    //emp_datagrid 数据表初始化

    emp_datagrid.datagrid({
        url:'/employee/list',
        striped:"true",
        pagination:"true",
        singleSelect:"true",
        fit:"true",
        fitColumns:"true",
        toolbar: '#emp_toolbar',
        //在用户点击一行的时候触发事件
        onClickRow:function(index, row){
            if(row.state==1){
                $("#change_btn").linkbutton({
                    text:"离职"
                })
            }else if(row.state==0){
                $("#change_btn").linkbutton({
                    text:"复职"
                })

            }
        },
        columns:[[
            {field:'x',checkbox:true},
            {field:'id',title:'编号',width:100},
            {field:'username',title:'员工账号',width:100},
            {field:'realName',title:'真实姓名',width:100},
            {field:'tel',title:'电话',width:100},
            {field:'email',title:'邮箱',width:100},
            {field:'dept',title:'所属部门',width:100,
                formatter: function(value,row,index){
                    if(value){
                        return value.name;
                    }else{
                        return "未知部门";
                    }
                }},
            {field:'inputTime',title:'录入时间',width:100},
            {field:'admin',title:'超级管理员身份',width:100,
                formatter: function(value,row,index){
                    return value? '是':'否';
                }
            },
            {field:'state',title:'状态',width:100,
                formatter: function(value,row,index){
                    if (value == 0){
                        return "<font color='red'>离职</font>";
                    } else if(value == 1){
                        return "<font color='green'>在职</font>";
                    }
                }}
        ]]
    })
    //emp_datagrid 数据表初始化-------end

    //保存/编辑对话框 初始化
    emp_dialog.dialog({
        width: 300,
        height: 350,
        closed: false,
        closed:true,
        buttons:"#dialog_buttons"
    });
    //保存/编辑对话框 初始化 ----end

    var cmdObj = {
        reload:function(){
            emp_datagrid.datagrid("reload")
        },
        add:function(){
            //清除form 表单 缓存数据
            emp_form.form('clear');
            emp_dialog.dialog("setTitle","员工保存");
            emp_dialog.dialog("open");
        },
        save:function(){
            var url ="/employee/save";
            var id = $("[name='id']").val();
            if(id){
                url ="/employee/update";
            }
            emp_form.form('submit', {
                url:url,
                onSubmit:function(param){
                    var ids = $("#role_id").combobox("getValues");
                    $.each(ids,function(i,n){
                        param["roles["+i+"].id"]=n;
                    })
                },
                success:function(data){
                    data = $.parseJSON(data);
                    if(data.success){
                        emp_dialog.dialog("close");
                        emp_datagrid.datagrid("reload");
                    }else{
                        $.messager.alert('温馨提示',data.msg);
                    }
                }
            });

        },
        edit:function(){

            //判断是否选中
            var row = emp_datagrid.datagrid("getSelected")
            if(row == null){
                $.messager.alert('温馨提示',"请选中需要编辑的员工");
                return ;
            }
            //清空 旧数据
            emp_form.form('clear');

            //同名匹配  员工回显问题
            if (row.dept){
                row["dept.id"]=row.dept.id;
            }

            if (row.roles){
                $.each(row.roles,function(i,n){
                    row["role.id"]=n.id;
                })
            }
            //把数据加载到 对话框的表单中
            emp_form.form('load',row);

            //获取 用户角色
            $.get("/role/queryEmpForRoles?empId="+row.id,function(data){
                var ids  =new Array();
                $.each(data,function(i,n){
                    ids[i]=n.id;
                })
                $("#role_id").combobox("setValue",ids);
            })

            emp_dialog.dialog("setTitle","员工编辑");
            emp_dialog.dialog("open");
        },
        changeState:function(){
            //判断是否选中
            var row = emp_datagrid.datagrid("getSelected")
            if(row == null){
                $.messager.alert('温馨提示',"请选中需要编辑的员工");
                return ;
            }

            $.get("/employee/changeState?id="+row.id,function(data){
                if (data.success){
                    emp_datagrid.datagrid("reload")
                }else{
                    $.messager.alert('温馨提示',data.msg);
                }

            })
        },
        cancel:function(){
            emp_dialog.dialog("close")
        }

    }

    //代码优化
    $("a[data-cmd]").click(function(){
        var cmd = $(this).data("cmd");
        cmdObj[cmd]();
    });

})